package com.lvfeng.system.controller;

import com.lvfeng.tool.change.JSONChange;
import com.lvfeng.tool.chars.encrypt.EncryptUtil;
import com.lvfeng.tool.sdk.GeetestLib;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.HashMap;
import java.util.Map;


/**
 * @author LvFeng
 * 返回首页
 */

@Configuration 
@Controller
public class DefaultView{
	//001.根目录跳转到首页
	@RequestMapping("/")
	public ModelAndView index() {
        return new ModelAndView("index");
    }
	
	//002.单击登陆，跳转到login
	@GetMapping("/login")
	public String login() {
		return "login";
	}

	//跳转到main页面
	@GetMapping("/main")
	public String main() {
		return "main";
	}

	//点击第三方授权
	@GetMapping("/auth")
	public String auth() {
		return "auth";
	}

	//人脸识别登录跳转
	@GetMapping("/face")
	public String face() {
		return "face";
	}

	//003.用户表单登录验证【预校验，示例存在问题，使用前端框架替换】
	@RequestMapping("/startLogin")
	public Map u_login() throws Exception{
		//key解码
		String key = "love10240wsw";
		EncryptUtil des = new EncryptUtil(key, "utf-8");
		GeetestLib gtSdk = new GeetestLib(des.deCode(GeetestLib.GID), des.deCode(GeetestLib.GKEY), true);
		String userid = "lvfeng";	//用户
			//自定义参数,可选择添加
		HashMap<String, String> param = new HashMap<String, String>();
//		param.put("user_id", userid); //网站用户id
//		param.put("client_type", "web"); //web:电脑上的浏览器；h5:手机上的浏览器，包括移动应用内完全内置的web_view；native：通过原生SDK植入APP应用的方式
//		param.put("ip_address", "127.0.0.1"); //传输用户请求验证时所携带的IP
		int gtServerStatus = gtSdk.preProcess(param);//进行验证预处理
		String resStr = gtSdk.getResponseStr();		//结果集
		Map map = JSONChange.json2map(resStr);
		return map;
	}
}
